home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TeX 1995 July
/
TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO
/
macros
/
latex209
/
contrib
/
geom
/
geomfix
< prev
next >
Wrap
Text File
|
1993-01-11
|
3KB
|
157 lines
#! /bin/sh
#
# This is geomfix, Copyright 1992 Silvio Levy
# $Header: /a/tampa/h/tampa_a/fac/levy/texts/geombook/RCS/geomfix,v 1.1 92/07/17 13:27:45 levy Exp $
#
# This shell file reads stdin (or any list of files) and adds a header
# similar to the one added by psfix, but without any of the definitons.
# It also abbreviates certain PostScript commands.
# Defaults:
lmargin=1.0 # default left margin: .5 inches
rmargin=1.0 # default right margin: .5 inches
bmargin=1.0 # default bottom margin: .5 inches
tmargin=1.0 # default top margin: .5 inches
width=8.5 # default page width: 8.5 inches
height=11 # default page height: 11 inches
transform='' # default transformation: identity
nodistort=true # default no-stretching: no
fixwid=false # default fixwid compensation
fixdash=false # default fixdash compensation
while :; do
case $# in
0)
break 2
;;
esac
case "$1" in
-lmarg)
shift
lmargin=$1
shift
;;
-rmarg)
shift
rmargin=$1
shift
;;
-bmarg)
shift
bmargin=$1
shift
;;
-tmarg)
shift
tmargin=$1
shift
;;
-width)
shift
width=$1
shift
;;
-height)
shift
height=$1
shift
;;
-land)
tmp=$width
width=$height
height=$tmp
transform="90 rotate 0 Mheight neg translate"
shift
;;
-stretch)
nodistort=false
shift
;;
-stringfix)
fixwid=false
shift
;;
-dashfix)
fixdash=false
shift
;;
-*)
echo \
'Usage: psfix [-lmarg inches] [-rmarg inches] [-bmarg inches] [-tmarg inches]
[-land] [-stretch] [-width inches] [-height inches]
[-stringfix] [-dashfix] [file...]' \
>&2
exit 1
;;
*)
break 2
;;
esac
done
# Output header
echo '%!PS-Adobe-2.0 EPSF-2.0'
# Compute bounding box
(
bc <<!
$width * 72
$height * 72
!
) | (
read right
read top
echo "%%BoundingBox: 0 0 $right $top"
)
cat <<'!'
%%Creator: Mathematica
%%EndComments
!
# Output default values
sed 's/[ ]*%.*$//
s/^[ ]*//
/^[ ]*$/d' <<!
MyDict begin
/Mlmarg $lmargin 72 mul def % left margin (points)
/Mrmarg $rmargin 72 mul def % right margin (points)
/Mbmarg $bmargin 72 mul def % top margin (points)
/Mtmarg $tmargin 72 mul def % bottom margin (points)
/Mwidth $width 72 mul def % total page width (points)
/Mheight $height 72 mul def % total page height
/Mtransform { $transform } bind def % possible page rotation
/Mnodistort $nodistort def % no-stretching flag
/Mfixwid $fixwid def % fixedwidth font only flag
/Mfixdash $fixdash def % fixeddash flag
/Mrot 0 def % angle at which text is rendered
!
# Some of the following abbrevs were used by me
# prior to version 2.1 to save space.
# In version 2.1 different abbrevs were introduced.
# Only k causes a conflict.
sed '/^%!$/d
s/^0\.\([0-9]\)/.\1/
s/\([ -]\)0\.\([0-9]\)/\1.\2/g
s/\<k\>$/setcmykcolor/
s/\<Mabswid\>$/Ma/g
s/\<arc\>$/a/g
s/\<curveto\>$/c/g
s/\<setdash\>$/d/g
s/\<fill\>$/f/g
s/\<setgray\>$/g/g
s/\<grestore\>$/gr/g
s/\<gsave\>$/gs/g
s/\<stroke\>$/k/g
s/\<lineto\>$/l/g
s/\<setlinewidth\>$/lw/g
s/\<moveto\>$/m/g
s/\<newpath\>$/n/g
s/\<setrgbcolor\>$/r/g
/^%%Creator:/d' $@
echo end